/**
 * Created by lee_mxue on 17/5/4.
 */
import React from "react"
import ReactDOM from "react-dom"
import wx from "wx";
import { addErrorListener, reportError } from "../../lib/handleError"
import weixinShare from "../../lib/weixinShare"
import AJAX from "../../lib/ajax"
require('../../styles/common.less');
require('./ChooseServerType.less');
require('../../lib/rem')

class App extends React.Component {
    constructor(props) {
        super(props);
        this.jumpSendingPackage = this.jumpSendingPackage.bind(this)
        this.jumpCabinetSending = this.jumpCabinetSending.bind(this)
        this.state = {
            isReady: false,     //是否可以加载页面
            code: "",
            text1: "",
            text2: "",
        }
    }

    componentWillMount() {
        addErrorListener()()
        weixinShare.hideAll()
    }

    componentDidMount(){
        AJAX.appendBaiduAnalysis()

        this.setState({
            isReady: true,     //是否可以加载页面
        })
    }

    //跳转寄件页－－－服务站点寄件
    jumpSendingPackage() {
        AJAX.request("get_signature", {
            full_url: window.location.href
        }, (data) => {
            wx.config({
                debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来，若要查看传入的参数，可以在pc端打开，参数信息会通过log打出，仅在pc端时才会打印。
                appId: data.body.appid, // 必填，公众号的唯一标识
                timestamp: data.body.timestamp, // 必填，生成签名的时间戳
                nonceStr: data.body.noncestr, // 必填，生成签名的随机串
                signature: data.body.signature,// 必填，签名，见附录1
                jsApiList: ["getLocation"] // 必填，需要使用的JS接口列表，所有JS接口列表见附录2
            })
            wx.ready(()=> {
                wx.getLocation({
                    type: 'wgs84', // 默认为wgs84的gps坐标，如果要返回直接给openLocation用的火星坐标，可传入'gcj02'
                    success: function (res) {
                        var latitude = res.latitude; // 纬度，浮点数，范围为90 ~ -90
                        var longitude = res.longitude; // 经度，浮点数，范围为180 ~ -180。
                        var speed = res.speed; // 速度，以米/每秒计
                        var accuracy = res.accuracy; // 位置精度
                        AJAX.request("logis_near_info", {longitude: longitude, latitude: latitude,}, (data) => {
                            if (data.code === 0) {
                                //"is_send_enabled": int 寄件服务是否可用 1.是, 0否,
                                // "has_logis": int 是否有物流中心 1.是, 0否,
                                //"is_dhl":int 是否有支持国际件的物流中心 1.是, 0否,
                                if (data.body.is_send_enabled == 0 || data.body.has_logis == 0) {
                                    //寄件服务未开通
                                    window.location.href = './NoSendingServer';

                                } else if (data.body.is_send_enabled == 1 && data.body.has_logis == 1) {
                                    //寄件服务已开通
                                    window.location.href = './SendingPackageHeader';
                                    // window.location.href = './NoSendingServer';
                                }
                            }
                        })
                    }
                });
            })
        })
    }

    //跳转柜体寄件
    jumpCabinetSending(){
        AJAX.request("get_signature", {
            full_url: window.location.href
        }, (data) => {
            wx.config({
                debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来，若要查看传入的参数，可以在pc端打开，参数信息会通过log打出，仅在pc端时才会打印。
                appId: data.body.appid, // 必填，公众号的唯一标识
                timestamp: data.body.timestamp, // 必填，生成签名的时间戳
                nonceStr: data.body.noncestr, // 必填，生成签名的随机串
                signature: data.body.signature,// 必填，签名，见附录1
                jsApiList: ["getLocation"] // 必填，需要使用的JS接口列表，所有JS接口列表见附录2
            })
            wx.ready(()=> {
                wx.getLocation({
                    type: 'wgs84', // 默认为wgs84的gps坐标，如果要返回直接给openLocation用的火星坐标，可传入'gcj02'
                    success: function (res) {
                        var latitude = res.latitude; // 纬度，浮点数，范围为90 ~ -90
                        var longitude = res.longitude; // 经度，浮点数，范围为180 ~ -180。
                        var speed = res.speed; // 速度，以米/每秒计
                        var accuracy = res.accuracy; // 位置精度
                        AJAX.request("near_info", {longitude: longitude, latitude: latitude,}, (data) => {
                            if (data.code === 0) {
                                // "is_cab_send_enabled": int 柜体寄件服务是否可用 1.是, 0否,
                                if(data.body.is_cab_send_enabled === 1
                                    && data.body.has_garden === 1) {
                                    const read_guide = window.localStorage.getItem('read_guide')
                                    if(read_guide){
                                        window.location.href = './CabinetSendingHeader'
                                    }else {
                                        window.location.href = './CabinetGuidance'
                                    }
                                }else {
                                    window.location.href = './NoSendingServer';
                                }
                            }
                        })
                    }
                });
            })
        })
    }

    render() {
        return (
            this.state.isReady &&
            <div className="main">
                <div className="center_content">
                    {/* <a href="javascript:;" onClick={this.jumpSendingPackage}>
                        <img src="//cdn2.jinlb.cn/web/weixin/images/type1.png"  alt="服务网点寄件"/>
                        <p className="center">服务网点寄件</p>
                    </a> */}
                    <a href="javascript:;" onClick={this.jumpCabinetSending}>
                        <img src="//cdn2.jinlb.cn/web/weixin/images/type2.png" alt="智能快递柜寄件"/>
                        <p className="center">智能快递柜寄件</p>
                    </a>
                </div>
            </div>
        )
    }
}
ReactDOM.render(<App />, document.getElementById('app'))
if (module.hot) {
    module.hot.accept();
}